package archer.application.elastic.mock.core.constant;

import archer.framework.core.constant.ConstantDescription;
import archer.framework.utils.MapUtils;

import java.util.Map;

/**
 * @author christ
 * @date 2016/6/3
 */
public interface Constant extends archer.framework.core.constant.Constant {

    /**
     * 用户状态
     */
    class UserStatus {

        public static final String ENABLE = "ENABLE";

        public static final String DISABLE = "DISABLE";

        private static final Map description = MapUtils.asMap(ENABLE, "启用", DISABLE, "禁用");

        static {
            ConstantDescription.register(UserStatus.class.getSimpleName(), UserStatus.description);
        }
    }

    /**
     * 用户类型
     */
    class UserType {

        public static final String STAFF = "STAFF";

        public static final String CLIENT = "CLIENT";
    }

    /**
     * 数据类型
     */
    class ValueType {

        public static final String STRING = "STRING";

        public static final String INTEGER = "INTEGER";

        public static final String BIG_DECIMAL = "BIG_DECIMAL";

        public static final String DATE = "DATE";

        public static final String TIMESTAMP = "TIMESTAMP";

    }

    /**
     * 规则状态
     */
    class RuleStatus {

        public static final String NEW = "NEW";

        public static final String USED = "USED";

        private static Map description = MapUtils.asMap(NEW, "新建", USED, "启用");

        static {
            ConstantDescription.register(RuleStatus.class.getSimpleName(), RuleStatus.description);
        }
    }
}
